package com.example.merchantdemo.paymentstart.service;

import com.example.merchantdemo.paymentstart.dto.ConfirmedReceiptAndCoinReleaseReq;
import com.example.merchantdemo.paymentstart.dto.InitialToSellCoinReq;
import com.example.merchantdemo.paymentstart.dto.PlatformResponse;
import com.example.merchantdemo.paymentstart.dto.QueryMatchingTotalPriceReq;

/**
 * 卖币服务接口
 */
public interface SellCoinService {

    /**
     * 查询匹配总价(用户卖币，输入数量后，得到预计总价)
     *
     * @param req
     * @return
     */
    PlatformResponse queryMatchingTotalPrice(QueryMatchingTotalPriceReq req);

    /**
     * 发起卖币
     *
     * @param req
     * @return
     */
    PlatformResponse initialToSellCoin(InitialToSellCoinReq req);

    /**
     * 商户端用户确认收款并放币
     *
     * @param req
     * @return
     */
    PlatformResponse confirmedReceiptAndCoinRelease(ConfirmedReceiptAndCoinReleaseReq req);
}
